1. Field of Invention
The present invention relates to a packet transmitting apparatus which transmits an A/V stream compressed according to MPEG-2 or H.264 as IP packets after encryption with high quality by using a wired LAN, e.g., Ethernet (™) such as IEEE 802.3, or a wireless LAN such as IEEE 802.11.
2. Description of the Related Art
With the start of digital TV broadcasting, television of high-vision quality (HD quality) can be now easily viewed at home and the proliferation of television receivers is being accelerated.
Meanwhile, as communication or networking techniques develop, various techniques for efficiently transmitting packets have been proposed in recent years (see Patent Reference 1, for instance). As one of such techniques, conventionally, a digital broadcasting tuner and a DVHS-based video recorder may be interconnected by a digital interface based on the IEEE 1394 in a room of an ordinary household, and Moving Picture Experts Group/Transport Stream (MPEG-TS) signals, which is defined in IEC 61883-4, may be transmitted between them. In such a case, when content protection is applied to a broadcast content in a copy control mode such as Copy One Generation (abbreviated as COG), the content needs to be encrypted for secure transmission in order to protect the content from unauthorized copying.
As an example of a method for transmitting encrypted A/V data, such as an MPEG-TS, which is obtained by receiving digital broadcasts and selecting a channel in such a manner, the Digital Transmission Content Protection (DTCP) method has been defined. DTCP is a technique for protecting content on transmission media such as IEEE1394 and USB. The DTCP method is a method standardized by Digital Transmission Licensing Administrator (DTLA), and is described at “www.dtcp.com,” “www.dtcp.com/data/dtcp#tut.pdf,” “www.dtcp.com/data/wp#spec.pdf,” or in a book titled “IEEE 1394; A/V Kiki-eno-ouyou” (“IEEE 1394: Application to A/V devices”), “Chapter 8: Copy Protection”, supervised by Shinji Takada, Nikkankogyo Shinbun, pp. 133 to 149.
Here, the MPEG transport stream (abbreviated as MPEG-TS) will be described. An MPEG-TS is a collection of a number of MPEG transport packets (abbreviated as TS packets). A TS packet is a fixed-length packet of 188 bytes, and the length has been determined in consideration of the consistency with the cell length of ATM (out of 53 bytes, 47 bytes is the ATM payload) as well as the applicability when error-correction encoding, such as Read-Solomon code, is performed.
The TS packet is made up of a fixed-length packet header of 4 bytes, an adaptation field of a variable length, and a payload. In the packet header, a PID (packet identifier) and/or various flags are defined. This PID identifies the type of the TS packet. Either one or both of the adaptation_field and the payload may be present, and their presence/absence can be identified with a flag (adaptation_field_control) in the packet header. The adaptation_field has the functions of transmitting information such as PCR (Program_Clock_Reference) and stuffing within a TS packet for making the length of the TS packet a fixed length of 188 bytes. In the case of MPEG-2, the PCR is a timestamp of 27 MHz, and the value of the PCR is referenced in order to reproduce the reference time at the time of encoding in a System Time Clock (STC) of a decoder. The clock for timestamps added to individual TS packets is equivalent to the system clock frequency of MPEG, for example. The packet transmitting apparatus further includes clock regeneration means that receives TS packets and removes transmission jitter that has been added to Program Clock Reference (PCR) through network transmission of an MPEG-TS from the timestamps added to the received TS packets so as to regenerate the MPEG system clock.
For a TS of MPEG-2, the STC of a decoder has PLL synchronization function based on PCR. To stabilize the PLL synchronization operation, the interval of PCR transmission is defined to be within 100 milliseconds by the MPEG standard. An MPEG-PES packet containing individual streams such as video and audio is transmitted being divided into payloads of a plurality of TS packets having the same PID number. Here, the beginning of a PES packet is configured to start at the beginning of a TS packet.
Since a transport stream can transmit a number of programs together, table information is used that represents the relationship between the programs contained in the stream and program elements that make up the programs, such as video and audio streams. This table information is called Program Specific Information (PSI), and uses such a table as a Program Association Table (PAT) and a Program Map Table (PMT). The PSI in a PAT or PMT is transmitted being placed in the payload of TS packets in units called section.
In a PAT, the PID of an PMT corresponding to a program number and the like is designated, and in the PMT, PIDs of video, audio, and additional data contained in the corresponding program as well as the PID of PCR are described, so that TS packets that constitute a target program can be retrieved from a stream by referencing the PAT and the PMT. Reference documents on TS include CQ Publishing CO., Ltd., TECH I Vo.4, “Gazou & Onsei asshuku gijutsu no subete (Internet/dejitaru TV, mobairu tsuushin jidaino hissu gijutsu)” (“All about image & audio compression techniques (essential techniques for the Internet/digital TV and mobile communication era))”, supervised by Hiroshi Fujiwara, Chapter 6 “Gazou ya onseiwo tajuukasuru MPEG shisutemu (MPEG system for image/audio multiplexing)”, for example, which provides commentary on TS.
Logical hierarchy structures, exemplary processing procedures, and exemplary channel selection processing relating to PSI and/or SI are described in Miyake et al., “Dejitaru housou jushinki ni okeru senkyoku gijutsu (Channel selection techniques for digital broadcasting receivers), Sanyo Electric Gihou (technical journal) Vol. 36, June 2004, 74th issue, pp. 31 to 44.
In relation to an access control method for use in digital broadcasting, specifications of scrambling and relevant information as well as associated specifications of receivers are defined in the ARIB standard, ARIB STD-B25, and the operation thereof is defined in ARIB technical materials, ARIB TR-B14 and ARIB TR-B15.
FIG. 1(a) schematically illustrates an example of transmission of an MPEG-TS by IEEE 1394 using the DTCP method. In the DTCP method, the sending side (a packet transmitting device) is called a source 1901 and the receiving side (a packet receiving device) is called a sink 1902, where an encrypted content such as an MPEG-TS is transmitted from the source 1901 to the sink 1902 via a network 1903. FIG. 1(b) provides examples of source and sink devices as additional information.
FIG. 2 is a diagram generally illustrating a conventional packet communication unit in the DTCP method, where both a packet transmitting unit of the source 1901 and a packet receiving unit of the sink 1902 shown in FIG. 1 are illustrated as a packet transmitting/receiving unit. First, authentication and key exchange (abbreviated as AKE) compliant with the DTCP method are performed. Setting information for the authentication and key exchange is inputted to an AKE unit 2001, from which the information is delivered to a packetization unit 2002. In the packetization unit 2002, the information is packetized with a predetermined header added thereto, and is outputted to a network 2007. Here, the packetization unit 2002 performs packetization and transmission of inputted data in accordance with transmission parameters determined by a transmission condition setting unit 2003. On the receiving side, a signal inputted from the network 2007 is filtered by a packet receiving unit 2004 by identifying packet headers and the like, and inputted to the AKE unit 2001. This enables the AKE unit of the sending side (i.e., the source) and the AKE unit of the receiving side (i.e., the sink) to communicate messages with each other via the network 2007. Specifically, they perform authentication and key exchange in accordance with the procedure of the DTCP method.
Once authentication and key exchange succeed between the sending side (the source) and the receiving side (the sink), A/V data transmission is then performed. In the source, after an MPEG-TS signal is inputted to an encryption unit 2005 to become encrypted, the encrypted MPEG-TS signal is inputted to the packetization unit 2002, from which the signal is outputted to the network 2007. In the sink, the signal inputted from the network 2007 is filtered by the packet receiving unit 2004 by identifying packet headers and the like, and is inputted to and decoded by a decoding unit 2006, which outputs the MPEG-TS signal.
Next, using FIG. 3, the above-mentioned procedure will be additionally described. It is assumed in FIG. 3 that the source and the sink are connected by IEEE1394. First, a request for content transmission occurs on the source side. Then, an encrypted content and protection mode information for the content are transmitted from the source to the sink. The sink analyzes the copy protection information of the content, determines which of a full authentication method or a limited authentication method to use, and sends an authentication request to the source. The source and the sink seek sharing of an authentication key through predetermined processing of DTCP. Then, the source encrypts an exchanged key using the authentication key and sends the exchanged key to the sink, and the sink decodes the exchanged key. To make an encryption key change over time, the source generates seed information that temporally changes, and transmits the information to the sink. The source generates an encryption key from the exchanged key and the seed information, and encrypts an MPEG-TS in the encryption unit using the encryption key, and transmits the MPEG-TS to the sink. The sink receives the seed information and reconstructs a decoding key from the exchanged key and the seed information. The sink uses the decoding key to decode the encrypted MPEG-TS signal.
FIG. 4 shows an example of an IEEE1394 isochronous packet for a case where an MPEG-TS signal is transmitted in FIG. 1. This packet is composed of a 4-byte (32-bit) header, a 4-byte (32-bit) header CRC, a 224-byte data field, and a 4-byte (32-nit) trailer. Out of a CIP header and a TS signal that constitute the 224-byte data field, only the TS signal is encrypted during transmission, other data not being encrypted. Here, information specific to the DTCP method is a 2-bit Encryption Mode Indicator (EMI) which is copy protection information, and O/E (Odd/Even) which is the LSB bit of seed information, and they are transmitted being unencrypted because they are present in the 32-bit header.
In the above-described manner, A/V data of a broadcast program which has been obtained by receiving digital broadcasting and selecting a channel is transmitted to the receiving side under the protection of encryption. During this transmission, it is easy to transmit metadata contained in the same TS signal as the A/V data to the receiving side together with the A/V data.
For example, information on an electronic program guide (EPG) may be broadcast being multiplexed on the same TS signal as A/V data of a broadcast program. EPG information is a typical example of metadata relevant to a broadcast program. By referencing the EPG information, users can enjoy convenience when selecting a program or setting programmed recording.
Patent Reference 1: Japanese Unexamined Patent Application Publication No. 2000-59463